package cn.harry.wx.service;

import cn.harry.wx.entity.WxMsgTemplate;
import com.baomidou.mybatisplus.core.metadata.IPage;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;

/**
 * 消息模板
 *
 * @author honghh
 * Date 2021-04-08 16:19:27
 * Copyright (C) www.tech-harry.cn
 */
public interface WxMsgTemplateService {

    /**
     * 分页查询消息模板信息
     *
     * @param wxMsgTemplate
     * @param pageSize
     * @param pageNum
     * @return
     */
    IPage<WxMsgTemplate> getPage(WxMsgTemplate wxMsgTemplate, Integer pageSize, Integer pageNum);

    /**
     * 根据ID查询
     *
     * @param id
     * @return
     */
    WxMsgTemplate selectById(Long id);

    /**
     * 创建消息模板信息
     *
     * @param wxMsgTemplate
     * @return
     */
    int create(WxMsgTemplate wxMsgTemplate);

    /**
     * 更新消息模板
     *
     * @param id
     * @param wxMsgTemplate
     * @return
     */
    int update(Long id, WxMsgTemplate wxMsgTemplate);

    /**
     * 批量删除
     *
     * @param ids
     * @return
     */
    int deleteByIds(Long[] ids);

    /**
     * 发送微信模版消息
     *
     * @param msg
     * @param appid
     */
    void sendTemplateMsg(WxMpTemplateMessage msg, String appid);

    /**
     * 同步公众号已添加的消息模板
     *
     * @param appid
     * @throws WxErrorException
     */
    void syncWxTemplate(String appid) throws WxErrorException;
}

